Transmitting multiple adaptive bit rate (ABR) segment streams on a shared frequency

ABSTRACT

A system for transmitting multiple adaptive bit rate (ABR) segment streams on a shared frequency may include an ABR segment generator and transmitter circuitry. The ABR segment generator may encode a content item based at least in part on different ABR profiles to generate encoded streams. The ABR profiles may indicate encoding parameters corresponding to the encoded streams, e.g., bit rates, resolutions, frame rates and/or codecs. The ABR segment generator may be further configured to segment the encoded streams to generate ABR segment streams. The transmitter circuitry may be configured to transmit the ABR segment streams on a shared frequency, such as by transmitting the segment streams over spatially separated antennas, or by applying different orbital angular momentums to the ABR segment streams. In one or more implementations, the system may further include a segment interleaver that is configured to interleave the ABR segment streams.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims the benefit of U.S. Provisional PatentApplication Ser. No. 61/830,010, entitled “Transmitting MultipleAdaptive Bit Rate (ABR) Segment Streams on a Shared Frequency,” filed onMay 31, 2013, which is hereby incorporated by reference in its entiretyfor all purposes.

TECHNICAL FIELD

The present description relates generally to transmitting adaptive bitrate (ABR) segment streams, and more particularly, but not exclusively,to transmitting multiple ABR segment streams on a shared frequency.

BACKGROUND

An adaptive bit rate (ABR) server in a content delivery network (CDN)encodes a content item into multiple streams of different bit rates,with each stream being divided into sequential segments of a givenduration (e.g. 2-10 seconds). The ABR server may transmit a manifestfile to user devices in a home via a gateway device, such as a homerouter. The manifest file lists the segments of the content item, thedifferent bit rates at which each segment has been encoded, e.g.different adaptive bit rate profiles for the segment, and a networkidentifier for accessing each segment, e.g. a uniform resource locator(URL). A user device may request individual ABR segments from the ABRserver at the bit rate that is appropriate for the user device, e.g.based on network bandwidth conditions and device capabilities that aredeterminable by the user device. However, there can be latency andbandwidth requirements associated with a user device requesting ABRsegments of a different bit rate to be sent from the ABR server whenconditions change.

BRIEF DESCRIPTION OF THE DRAWINGS

Certain features of the subject technology are set forth in the appendedclaims. However, for purpose of explanation, several embodiments of thesubject technology are set forth in the following figures.

FIG. 1 illustrates an example network environment in which a system fortransmitting multiple ABR segment streams on a shared frequency may beimplemented in accordance with one or more implementations.

FIG. 2 illustrates an example network environment including an ABRserver and a gateway device that may be used in a system fortransmitting multiple ABR segment streams on a shared frequency inaccordance with one or more implementations.

FIG. 3 illustrates an example network environment including an ABRserver and a gateway device that are configured to communicate overorbital angular momentum (OAM) channels on a shared frequency inaccordance with one or more implementations.

FIG. 4 illustrates an example OAM transmitter/receiver circuitry thatmay be used in a system for transmitting multiple ABR segment streams ona shared frequency in accordance with one or more implementations.

FIG. 5 illustrates an example network environment including an ABRserver and a gateway device that are configured to performmultiple-input and multiple output (MIMO) spatial multiplexing on ashared frequency in accordance with one or more implementations.

FIG. 6 illustrates a flow diagram of an example process of an ABR serverthat is configured to transmit multiple ABR segment streams over OAMchannels on a shared frequency in accordance with one or moreimplementations.

FIG. 7 illustrates a flow diagram of an example process of an ABR serverthat is configured to transmit multiple ABR segment streams on a sharedfrequency using MIMO spatial multiplexing in accordance with one or moreimplementations.

FIG. 8 illustrates a flow diagram of an example process of a gatewaydevice that is configured to receive multiple ABR segment streams overOAM channels on a shared frequency in accordance with one or moreimplementations.

FIG. 9 illustrates a flow diagram of an example process of an electronicdevice that is configured to receive multiple ABR segment streams on ashared frequency using MIMO spatial multiplexing in accordance with oneor more implementations.

FIG. 10 illustrates a flow diagram of an example process for performingsegment recovery in a system for transmitting multiple ABR segmentstreams on a shared frequency in accordance with one or moreimplementations.

FIG. 11 illustrates an example of segment interleaving in a system fortransmitting multiple ABR segment streams on a shared frequency inaccordance with one or more implementations.

FIG. 12 illustrates an example segment block life cycle in a system fortransmitting multiple ABR segment streams on a shared frequency inaccordance with one or more implementations.

FIG. 13 illustrates an example segment block life cycle in a system fortransmitting multiple ABR segment streams on a shared frequency inaccordance with one or more implementations.

FIGS. 14A-C illustrate examples of OAM channels having different orbitalangular momentums that may be transmitted on a shared frequency.

FIG. 15 illustrates a wireless network environment that includes antennastructures that may be used for generating/transmitting and/ordetecting/receiving OAM channels in accordance with one or moreimplementations.

FIG. 16 illustrates a wireless network environment that includes antennaarrays that may be used for generating/transmitting and/ordetecting/receiving OAM channels in accordance with one or moreimplementations.

FIG. 17 conceptually illustrates an electronic system with which one ormore implementations of the subject technology may be implemented.

DETAILED DESCRIPTION

The detailed description set forth below is intended as a description ofvarious configurations of the subject technology and is not intended torepresent the only configurations in which the subject technology may bepracticed. The appended drawings are incorporated herein and constitutea part of the detailed description. The detailed description includesspecific details for the purpose of providing a thorough understandingof the subject technology. However, the subject technology is notlimited to the specific details set forth herein and may be practicedusing one or more implementations. In one or more instances, structuresand components are shown in block diagram form in order to avoidobscuring the concepts of the subject technology.

FIG. 1 illustrates an example network environment 100 in which a systemfor transmitting multiple ABR segment streams on a shared frequency maybe implemented in accordance with one or more implementations. Not allof the depicted components may be required, however, and one or moreimplementations may include additional components not shown in thefigure. Variations in the arrangement and type of the components may bemade without departing from the spirit or scope of the claims as setforth herein. Additional components, different components, or fewercomponents may be provided.

The example network environment 100 includes an adaptive bit rate (ABR)server 110, a gateway device 120, and electronic devices 102, 104, 106,130. The ABR server 110, the gateway device 120, and/or the electronicdevices 102, 104, 106, 130 may be in direct wired and/or wirelesscommunication with one another and/or may be communicatively coupled toone another via a wireless and/or wired network. In one or moreimplementations, the ABR server 110 may be coupled to the gateway device120 and/or the electronic device 130 via a fiber optic cable, such as amulti-mode fiber optic cable; however, other suitable network media mayalso be used. The ABR server 110, the gateway device 120, and/or theelectronic devices 102, 104, 106, 130 may be, or may include one or morecomponents of, the electronic system discussed below with respect toFIG. 17.

The ABR server 110 may be a single computing device such as a computerserver. In another example, ABR server 110 may represent one or morecomputing devices (such as a cloud of computers and/or a distributedsystem) that are communicatively coupled, such as communicativelycoupled over a network, and that collectively, or individually, performone or more functions that can be performed server-side, such astranscoding a content item into multiple encoded streams based onmultiple bit rates, segmenting the encoded streams, transmitting thesegmented encoded streams, and/or generally any functions that can beperformed server-side. The ABR server 110 may be coupled with variousdatabases, storage services, or other computing devices.

The ABR server 110 may receive content items for transmission toreceiving devices, e.g. as part of a content delivery network. Thecontent items may include multimedia content items, such as video,television programs, movies, web pages or generally any multimediacontent items. The ABR server 110 may determine different ABR profilesfor encoding the content items, e.g. based on determinable networkconditions, channel capabilities, device capabilities, etc. The ABRserver 110 may transcode the content items into different encodedstreams based at least in part on the ABR profiles. The ABR profiles mayindicate one or more encoding characteristics or parameters for encodingthe content item, such as bit rate, codec, resolution, frame rate, orgenerally any encoding characteristics. The ABR server 110 may segmentthe encoded streams into sequential segments of a given duration (e.g.2-10 seconds) to generate ABR segments. It is understood that segmentsof any duration may be selected. In one or more implementations, the ABRserver 110 may interleave the ABR segments. The ABR server 110 maytransmit the ABR segments, as continuous ABR segment streams, to theelectronic device 130, e.g. for rendering to a viewer, and/or thegateway device 120, e.g. for distribution to the electronic devices 102,104, 106 and/or rendering to a viewer. In one or more implementations,the ABR server 110 may be configured to transmit any number of differentABR segment streams over a shared frequency, such as a single sharedtransmission frequency, so as to not require multiple differentfrequencies to transmit the different ABR segment streams.

In one or more implementations, the ABR server 110 may transmit amanifest file to recipient devices of the ABR segment streams, such asthe electronic device 130 and/or the gateway device 120. The manifestfile may identify the segments of the content item, the different bitrates at which each segment has been encoded, e.g. the different ABRsegment streams, and a network identifier for accessing each segment,e.g. a uniform resource locator (URL), or contain other identifyinginformation about the ABR segments. The electronic device 130 and/or thegateway device 120 may then retrieve individual ABR segments that areidentified in the manifest file, e.g. alternatively, and/or in additionto, receiving the ABR segment streams.

The ABR server 110 may include, and/or may be coupled to, suitablelogic, circuitry, interfaces, memory, and/or code that enablescommunications, e.g. with the gateway device 120 and/or the electronicdevice 130, via wired or wireless interfaces and utilizing one or moretransceivers. The ABR server 110 may include, and/or may be coupled to,one or more transceivers configured to communicate the ABR segmentstreams over different channels on a shared frequency or bandwidth. Inone or more implementations, the ABR server 110 may include, and/or maybe coupled to, one or more transceivers configured to communicate theABR segment streams over multiple orbital angular momentum (OAM)channels on a shared frequency or bandwidth, which is discussed furtherbelow with respect to FIGS. 3, 4, 6, 15 and 16. In one or moreimplementations, the ABR server 110 may further include, and/or may becoupled to, one or more radio transceivers configured to communicate theABR segment streams on a shared frequency or bandwidth usingmultiple-input and multiple-output (MIMO) spatial multiplexing, which isdiscussed further below with respect to FIGS. 5 and 7.

The gateway device 120 may include a network device, such as a switch ora router, that is configured to couple the electronic devices 102, 104,106 to the ABR server 110 and/or to an external network, such as theInternet. The gateway device 120 may further include circuitryconfigurable to render segments of received ABR segment streams on adisplay, such as a television or a monitor. In one or moreimplementations, the gateway device 120 may be, or may include, aset-top box. The gateway device 120 may be configured to function as anintermediary, or proxy, between the electronic devices 102, 104, 106 andthe ABR server 110.

The gateway device 120 retrieves individual segments of a content itemat an appropriate bit rate that is determined based on a measured ordesirable parameter, such as the network bandwidth conditions betweenthe gateway device 120 and the ABR server 110, channel characteristics,capabilities of the gateway device 120 or electronic devices 102, 104,106 connected thereto, and/or the state of processing of ABR segmentsalready received from the ABR server 110. In one or moreimplementations, the gateway device 120 may further transcode the ABRsegments in accordance with one or more adaptive bit rate profiles(e.g., in order to change the bit rate or other encodingcharacteristics), and may additionally advertise the one or moretranscoded adaptive bit rate profiles to the electronic devices 102,104, 106, e.g. via a manifest file. The electronic devices 102, 104, 106may retrieve segments from the gateway device 120 at the bit rate thatis appropriate for the electronic devices 102, 104, 106, e.g. based onthe capabilities of the electronic devices 102, 104, 106 and the networkbandwidth conditions between the electronic devices 102, 104, 106 andthe gateway device 120 device.

The gateway device 120 may also be configured to receive a plurality ofdifferent ABR segment streams for a content item from the ABR server 110on a shared frequency. In one or more implementations, the gatewaydevice 120 may deinterleave interleaved ABR segment streams and mayrecover any corrupted segments of any of the ABR segment streams. Therecovery of corrupted segments is discussed further below with respectto FIGS. 10, 12, and 13. In one or more implementations, the gatewaydevice 120 may transcode one of the received ABR segment streams togenerate an ABR segment stream having a bit rate, or other encodingcharacteristic, that is different than the received ABR segment streams,e.g. based at least in part on the network conditions between thegateway device 120 and the electronic devices 102, 104, 106. Forexample, the gateway device 120 may perform such transcoding in order torecover corrupted ABR segments or to generate new ABR segments havingdifferent characteristics than those ABR segments received from the ABRserver 110. The gateway device 120 may generate a manifest file based onthe received ABR segment streams and may transmit the manifest file tothe electronic devices 102, 104, 106.

In one or more implementations, the electronic devices 102, 104, 106,130 can be computing devices such as laptop or desktop computers,smartphones, personal digital assistants (“PDAs”), portable mediaplayers, set-top boxes, tablet computers, televisions or other displayswith one or more processors coupled thereto and/or embedded therein, orother appropriate computing devices that can be used for retrievingand/or segments of a content item, or can be coupled to such a device.In the example of FIG. 1, the electronic devices 102, 130 are depictedas tablet devices, the electronic device 104 is depicted as atelevision, and the electronic device 106 is depicted as a smart phone.

The electronic devices 102, 104, 106 receive a manifest file from thegateway device 120 that lists ABR segments of a content item anddifferent bit rates (or other encoding characteristics) at which the ABRsegments are available, along with a URL for accessing the segments. Theelectronic devices 102, 104, 106 may retrieve each segment of thecontent item at the bit rate that is appropriate for the electronicdevices 102, 104, 106, respectively, e.g. based on network bandwidthconditions and device capabilities that are determinable by theelectronic devices 102, 104, 106, respectively. The electronic devices102, 104, 106, may render the received segments in sequence, e.g. on adisplay, in order to reproduce the content item.

The electronic device 130 is configured to receive a plurality of ABRsegment streams for a content item from the ABR server 110 on a sharedfrequency. When an ABR segment stream is interleaved, the electronicdevice 130 deinterleaves the ABR segment streams and may be configuredto recover any corrupted segments of any of the ABR segment streamsthrough use of at least one of another uncorrupted segment from the ABRsegment streams. The electronic device 130 may select each segment ofthe content item to render based on one or more characteristicsdeterminable by the electronic device 130, such as available power,available processing resources, display size, or generally anycharacteristics determinable by the electronic device 130. For example,the electronic device 130 may render segments that can be decoded with asmall amount of power and/or processing resources when the electronicdevice 130 is running low on power and/or processing resources. In oneor more implementations, the electronic device 130 may be configured toreceive a manifest file from the ABR server 110 and retrieve one or moreindividual segments that are listed in the manifest file from the ABRserver 110.

The gateway device 120 and/or the electronic device 130 (or anyrecipient device of ABR streams from the ABR server 110) may include,and/or may be coupled to, suitable logic, circuitry, interfaces, memory,and/or code that enables communications, e.g. with the ABR server 110and/or the electronic devices 102, 104, 106 via wired or wirelessinterfaces and utilizing one or more transceivers. In one or moreimplementations, the gateway device 120 and/or the electronic device 130may include, and/or may be coupled to, one or more transceiversconfigured to receive ABR segment streams over multiple orbital angularmomentum (OAM) channels on a shared frequency, which is discussedfurther below with respect to FIGS. 3, 4, 8, 15, and 16. In one or moreimplementations, the gateway device 120 and/or the electronic device 130may further include, and/or may be coupled to, one or more radiotransceivers configured to receive ABR segment streams on a sharedfrequency using multiple-input and multiple-output (MIMO) spatialmultiplexing, which is discussed further below with respect to FIGS. 5and 9.

In one or more implementations, the ABR server 110 is configured tosend, and the gateway device 120 and/or the electronic device 130 areconfigured to receive, a plurality of ABR segment streams over the samefrequency (i.e., a shared frequency) or, alternatively, over a sharedbandwidth. By transmitting a plurality of ABR segment streams, thegateway device 120 and/or the electronic device 130 are provided withthe flexibility of selecting an appropriate ABR segment at any giventime from the plurality of ABR segment streams, so as to be able toflexibly account for fluctuating conditions using decision making at thegateway device 120 and/or the electronic device 130. This avoids thenecessity for the gateway device 120 and/or the electronic device 130 torequest a different ABR segment or ABR segment stream with differentencoding characteristics from the ABR server 110 when conditions change,thereby reducing latency and bandwidth that would be associated withsuch back and forth requests between the ABR server 110 and the gatewaydevice 120 and/or the electronic device 130. Further, by transmitting aplurality of different ABR segment streams associated with the samecontent from the ABR server 110, the gateway device 120 and/or theelectronic device 130 are able to recover or recreate corrupted ABRsegments from other uncorrupted ABR segments in the plurality ofdifferent ABR segment streams that are received, as described herein invarious implementations. Still further, by transmitting the plurality ofdifferent ABR segment streams associated with the same content from theABR server 110 over a shared frequency, all of these benefits areachievable without sacrificing transmission bandwidth (or with minimalto no impact on the bandwidth of the channel), since additionalfrequencies are not required to transmit additional respective ABRsegment streams. That is, all of the different ABR segment streams maybe transmitted across the same shared frequency.

In one or more implementations, the gateway device 120 and/or theelectronic device 130 may be further configured to provide feedback tothe ABR server 110, e.g. with respect to different ABR segment streamsthat the gateway device 120 and/or the electronic device 130 would liketo receive. For example, the gateway device 120 may wish to receive anABR segment stream encoded with a particular codec, e.g. a codec that isdecodable by the electronic devices 102, 104, 106. The ABR server 110may receive the feedback from the gateway device 120 and/or theelectronic device 130 and may modify the ABR segment streams beingtransmitted to the gateway device 120 and/or the electronic device 130on a shared frequency.

FIG. 2 illustrates an example network environment 200 including an ABRserver 110 and a gateway device 120 that may be used in a system fortransmitting multiple ABR segment streams on a shared frequency inaccordance with one or more implementations. Not all of the depictedcomponents may be required, however, and one or more implementations mayinclude additional components not shown in the figure. Variations in thearrangement and type of the components may be made without departingfrom the spirit or scope of the claims as set forth herein. Additionalcomponents, different components, or fewer components may be provided.

In one or more implementations, the ABR server 110 includes an ABRsegment stream generator 212, a segment interleaver 214, and transmittercircuitry 216. The gateway device 120 includes receiver circuitry 222, asegment deinterleaver 224, and a segment recoverer 226. In operation,the ABR segment stream generator 212 encodes a content item intomultiple encoded versions, or encoded streams, e.g. based at least inpart on different ABR profiles. The ABR segment stream generator 212 maysegment the encoded streams to generate ABR segment streams 213.Different ABR segment streams may each include segments that correspondto the same portion of the content item, e.g. a determined duration ofthe content item, but that are encoded based on different ABR profiles.In one or more implementations, the ABR segment stream generator 212provides the ABR segment streams to the segment interleaver 214 thatinterleaves the segments of the ABR segment streams (i.e., modifies theorder of the segments in the ABR segment stream) to generate interleavedsegment streams 215. For example, the segments of a given ABR segmentstream may be interleaved together. As will be described with referenceto various implementations herein, the interleaving of the ABR segmentstreams provides a more robust solution that allows a particular segmentto be recreated from other ABR segments that correspond to the samecontent if the particular segment becomes corrupted. In one or moreimplementations, the segments of a given ABR segment stream may not beinterleaved with the segments of other ABR segment streams. In one ormore implementations, the ABR segment streams 213 may not be interleavedand may be provided by the ABR segment stream generator 212 to thetransmitter circuitry 216 without modification of the segment order.

The segment interleaver 214 provides the interleaved segment streams tothe transmitter circuitry 216. The transmitter circuitry 216 may beconfigured to process the interleaved segment streams 215, such asmodulate the interleaved segment streams 215, pre-code the interleavedsegment streams 215, apply orbital angular momentum to the interleavedsegment streams 215, combine the interleaved segment streams 215, orgenerally any processing that may facilitate transmitting the outputinterleaved segment streams 242A-C over a shared frequency. Thetransmitter circuitry 216 may also be configured to simultaneouslytransmit the segment streams 242A-C on a shared frequency 240, to thereceiver circuitry 222. For explanatory purposes, three segment streams242A-C are illustrated as being transmitted simultaneously over theshared frequency 240. However, any number of segment streams may betransmitted over the shared frequency 240.

The receiver circuitry 222 is configured to receive the segment streams242A-C over the shared frequency 240. The receiver circuitry 222 may beconfigured to process the received segment streams 242A-C, such asdemodulate, separate, remove OAM, etc., to recover the interleavedsegment streams 223. The receiver circuitry 222 provides the interleavedsegment streams 223 to the segment deinterleaver 224. The segmentdeinterleaver 224 deinterleaves the interleaved segment streams 223 torecover the ABR segment streams 225 and provides the ABR segment streams225 to the segment recoverer 226. In one or more implementations, whenany of the received segment streams 242A-C was not interleaved, thereceived segment streams 242A-C may be provided directly to the segmentrecoverer 226 or may otherwise pass through the segment deinterleaver224 without any deinterleaving functionality being performed. Thesegment recoverer 226 determines whether any of the segments of the anyof the ABR segment streams 225 were corrupted during transmission andrecovers any corrupted segments. The segments 227 of the ABR segmentstreams may then be rendered, e.g. on a display, transmitted to one ormore of the electronic devices 102, 104, 106, or buffered fortransmission to one or more of the electronic devices 102, 104, 106,e.g. in a buffer or a memory.

FIG. 3 illustrates an example network environment 300 including an ABRserver 110 and a gateway device 120 that are configured to communicateover orbital angular momentum (OAM) channels on a shared frequency inaccordance with one or more implementations. Not all of the depictedcomponents may be required, however, and one or more implementations mayinclude additional components not shown in the figure. Variations in thearrangement and type of the components may be made without departingfrom the spirit or scope of the claims as set forth herein. Additionalcomponents, different components, or fewer components may be provided.

The example network environment 300 includes an ABR server 110 and agateway device 120. The ABR server 110 includes an ABR segment streamgenerator 212, a segment interleaver 214, and OAM transmitter circuitry316. The ABR segment stream generator 212 of FIG. 3 includes multiplesegmenters 312A-C. The gateway device 120 includes OAM receivercircuitry 322, a segment deinterleaver 224, and a segment recoverer 226.

In operation, the segmenters 312A-C of the ABR segment stream generator212 generate different respective ABR segment streams 213A-C from acontent item that are encoded based at least in part on different ABRprofiles. The ABR segment stream generator 212 provides the ABR segmentstreams to the segment interleaver 214. The segment interleaver 214interleaves the segment streams and provides the interleaved segmentstreams to the OAM transmitter circuitry 316. The OAM transmittercircuitry 316 may modulate the interleaved segment streams to generatemodulated segment streams. The OAM transmitter circuitry 316 appliesdifferent orbital angular momentums, or states, and/or differentpolarizations, to each of the modulated segment streams to generate OAMchannels 342A-C, as is discussed further below with respect to FIG. 5and FIGS. 14A-C. Thus, the OAM channels 342A-C may carry streams of ABRsegments that are encoded based at least in part on different ABRprofiles.

The OAM transmitter circuitry 316 may combine the OAM channels 342A-C,such as by multiplexing the OAM channels 342A-C for transmission to theOAM receiver circuitry 322 on a shared frequency 340. In one or moreimplementations, the OAM transmitter circuitry 316 may combine the OAMchannels 342A-C for transmission on a shared frequency 340. In one ormore implementations, the OAM channels 342A-C may be combined and/ormultiplexed at the time that the orbital angular momentum is applied tothe OAM channels 342A-C. For explanatory purposes, only three OAMchannels 342A-C are illustrated as being transmitted on the sharedfrequency 340. However, any number of OAM channels may be generatedbased on different orbital angular momentums and/or differentpolarizations, and may be transmitted on the shared frequency 340.

The OAM receiver circuitry 322 may receive the OAM channels 342A-C onthe shared frequency 340. The OAM receiver circuitry 322 may process theOAM channels 342A-C, such as by separating the OAM channels 342A-C torecover the interleaved segment streams (or to recover thenon-interleaved segment streams in situations where the ABR segmentstreams were not interleaved by the ABR server 110). The OAM receivercircuitry 322 provides the interleaved segment streams to the segmentdeinterleaver 224. For explanatory purposes, the OAM receiver circuitry322 is discussed in the context of the gateway device 120; however, theOAM receiver circuitry 322 may also be included in the electronic device130 and/or any other suitable device.

FIG. 4 illustrates an example OAM transmitter/receiver circuitry 400that may be used in a system for transmitting multiple ABR segmentstreams on a shared frequency in accordance with one or moreimplementations. Not all of the depicted components may be required,however, and one or more implementations may include additionalcomponents not shown in the figure. Variations in the arrangement andtype of the components may be made without departing from the spirit orscope of the claims as set forth herein. Additional components,different components, or fewer components may be provided.

The example OAM transmitter/receiver system 400 includes OAM transmittercircuitry 316 and OAM receiver circuitry 322. The OAM transmittercircuitry 316 includes an OAM channel generator 410, an OAM channelcombiner 414, and an OAM transmitter 416. The OAM channel generator 410includes OAM applicators 412A-C. The OAM receiver circuitry 322 includesan OAM receiver 422, an OAM channel separator 424, and an OAM channelremover 426. The OAM channel remover 426 includes OAM deapplicators428A-C.

In operation, the OAM applicators 412A-C receive segment streams, e.g.interleaved and/or modulated segment streams, and apply orbital angularmomentums to the segment streams to generate OAM channels 342A-C. TheOAM applicators 412A-C may each be configured to apply a differentorbital angular momentum such that each of the OAM channels 342A-C has adifferent and unique orbital angular momentum associated therewith.There may be infinite orbital angular momentums that can be applied tosegment streams, thereby allowing a large number of OAM channels to becreated with each of the OAM channels capable of being transmitted overa shared frequency. The different orbital angular momentums may bedefined based at least in part on an associated topological charge (l).Three example orbital angular momentums are discussed below with respectto FIGS. 14A-C.

In one or more implementations, an OAM applicator 412A may include aspiral phase mask with a topological charge (l) that is associated withthe angular orbital momentum being applied, such as l=−4. The OAMapplicator 412A may apply the spiral phase mask to a modulated segmentstream (e.g. 16-QAM), to generate an OAM beam, or OAM channel 342A fromthe modulated segment stream. In one or more implementations, themodulated segment stream may be in the form of an information-carryingGaussian beam.

In one or more implementations, the OAM channel generator 410 mayprovide the OAM channels 342A-C to the OAM channel combiner 414, whichmay combine the OAM channels 342A-C for transmission on a sharedfrequency. For example, the OAM channel combiner 414 may multiplex theOAM channels 342A-C on a single wavelength using non-polarizingbeamsplitters. In one or more implementations, the OAM channel combiner414 may perform polarization multiplexing on the multiplexed OAMchannels 342A-C to further increase capacity and spectral efficiency. Inone or more implementations, the OAM channels 342A-C may be multiplexedon a single wavelength when the OAM is applied to the OAM channels342A-C by the OAM applicators 412A-C, and therefore the OAM channelcombiner 414 may not be used. The OAM channel combiner 414 provides thecombined OAM channels 342A-C to the OAM transmitter 416. The OAMtransmitter 416 transmits the combined OAM channels 342A-C on a sharedfrequency 340. For example, the OAM transmitter 416 may be coupled to anantenna or an antenna array through which the combined OAM channels342A-C are transmitted. Example antennas and example antenna arrays arediscussed further below with respect to FIGS. 15 and 16.

The OAM receiver 422 may receive the combined OAM channels 342A-C overthe shared frequency 340. For example, the OAM receiver 422 may includean antenna or an antenna array through which the combined OAM channels342A-C are received. The OAM receiver 422 provides the combined OAMchannels 342A-C to the OAM channel separator 424. The OAM channelseparator 424 separates the combined OAM channels 342A-C to recover theindividual OAM channels 342A-C. For example, the OAM channel separator424 may demultiplex the combined OAM channels 342A-C. In one or moreimplementations, the OAM channels 342A-C may be demultiplexed when theOAM is removed by the OAM deapplicators 428A-C, and therefore the OAMchannel separator 424 may not be used.

The OAM channel separator 424 provides the individual OAM channels342A-C to the OAM deapplicators 428A-C of the OAM channel remover 426.The OAM deapplicators 428A-C remove the orbital angular momentum fromthe OAM channels 342A-C to generate the segment streams, e.g. modulatedand/or interleaved segment streams. For example, the OAM deapplicator428A may include a spiral phase mask having a topological charge that isinverse to the topological charge of the OAM applicator 412A. The OAMdeapplicator 428A may apply the spiral mask to the OAM channel 342A toremove the orbital angular momentum and recover the modulated and/orinterleaved segment streams, e.g. in the form of a Gaussian carryinginformation beam. The OAM channel remover 426 provides the modulatedand/or interleaved segment streams for further processing, e.g.demodulating and/or deinterleaving.

FIG. 5 illustrates an example network environment 500 including an ABRserver 110 and an electronic device 130 that are configured to performmultiple-input and multiple-output (MIMO) spatial multiplexing on ashared frequency in accordance with one or more implementations. Not allof the depicted components may be required, however, and one or moreimplementations may include additional components not shown in thefigure. Variations in the arrangement and type of the components may bemade without departing from the spirit or scope of the claims as setforth herein. Additional components, different components, or fewercomponents may be provided.

The ABR server 110 may include an ABR segment stream generator 212, asegment interleaver 214, MIMO transmitter circuitry 516, and one or morespatially separated antennas 518A-C. The MIMO transmitter circuitry 516may include one or more circuits, such as power amplifiers (PAs),modulators, filters, etc. The electronic device 130 may include MIMOreceiver circuitry 522, a segment deinterleaver 224, a segment recoverer226, and one or more antennas 528A-C. The MIMO receiver circuitry 522may include one or more circuits, such as power amplifiers (PAs),demodulators, filters, etc.

The MIMO transmitter circuitry 516 may receive the interleaved segmentstreams from the segment interleaver 214. The MIMO transmitter circuitry516 may process the interleaved segment streams, such as modulating theinterleaved segment streams, precoding the interleaved segment streams,and/or performing other processing that may facilitate using MIMOspatial multiplexing to transmit the interleaved segment streams. TheMIMO transmitter circuitry 516 may be coupled to multiple spatiallyseparate antennas 518A-C. In one or more implementations, the antenna518A may be dedicated to the modulated segment stream 542A, the antenna518B may be dedicated to the modulated segment stream 542B, and theantenna 518C may be dedicated to the modulated segment stream 542C. TheMIMO transmitter circuitry 516 may transmit the modulated segmentstreams 542A-C on a shared frequency 540 via the spatially separateantennas 518A-C.

The MIMO receiver circuitry 522 may receive one or more signals thatcarry the modulated segment streams 542A-C through the one or moreantennas 528A-C. Although the modulated segment stream 542A isillustrated as being transmitted directly from one antenna 518A toanother antenna 528A, any of the antennas 528A-C may receive themodulated segment stream 542A. For example, if the MIMO receivercircuitry 522 is coupled to three antennas 528A-C, any or all of thethree antennas 528A-C may receive signals carrying any of the modulatedsegment streams 542A-C, e.g. all three of the antennas 528A-C mayreceive signals that carry the modulated segment stream 542A. The MIMOreceiver circuitry 522 may recover the modulated segment streams 542A-Cfrom the received signals. The MIMO receiver circuitry 522 maydemodulate the modulated segment streams 542A-C and provide thedemodulated segment streams to the segment deinterleaver 224. Forexplanatory purposes, the MIMO receiver circuitry 522 is discussed inthe context of the electronic device 130; however, the MIMO receivercircuitry 522 may also be included in the gateway device 120 and/or anyother suitable device.

FIG. 6 illustrates a flow diagram of an example process 600 of an ABRserver 110 that is configured to transmit multiple ABR segment streamsover OAM channels on a shared frequency in accordance with one or moreimplementations. For explanatory purposes, the example process 600 isdescribed herein with reference to the ABR server 110 of the examplenetwork environments 100, 200, and 300 of FIGS. 1-3, respectively;however, the example process 600 is not limited to the ABR server 110 ofthe example network environments 100, 200, and 300 of FIGS. 1-3,respectively, and the example process 600 may be performed by one ormore components of the ABR server 110, such as host processors, radiomodules, etc. Further for explanatory purposes, the blocks of theexample process 600 are described herein as occurring in serial, orlinearly. However, multiple blocks of the example process 600 may occurin parallel. In addition, the blocks of the example process 600 need notbe performed in the order shown and/or one or more of the blocks of theexample process 600 need not be performed.

The ABR server 110 encodes a content item, e.g. using the segmenters312A-C, based at least in part on different adaptive bit rate (ABR)profiles to generate different encoded streams (602) for the contentitem. The ABR profiles may indicate one or more encoding characteristicsor parameters that are used by the ABR server 110 to encode the contentitem, such as bit rate, resolution, frame rate, codec, or generally anyencoding characteristics. The ABR server 110 may generate any number ofencoded streams from the content item, such as ten or more encodedstreams, or generally any number of encoded streams.

The ABR server 110 segments the encoded streams, e.g. using thesegmenters 312A-C into multiple segments of a given duration, such as2-10 seconds, to generate ABR segment streams (604). The encoded streamsmay be each segmented in the same fashion such that the ABR segmentstreams each include segments that correspond to the same durations, orportions, of the content item. Thus, each ABR segment stream may includea segment that corresponds to the same portion of the content item, butthe segment may be encoded differently for each ABR segment stream, e.g.based at least on the ABR profile that was used to generate thecorresponding encoded stream. In one or more embodiments, the ABRsegments may alternatively be generated when encoding the content, suchthat segments are encoded on a segment by segment basis.

The ABR server 110 interleaves each of the segmented streams, forexample, using the segment interleaver 214, to generate interleavedsegment streams (606). In one or more implementations, blocks ofsegments of the segmented streams may be interleaved. The segmentedstreams may be interleaved individually, e.g. such that the segments ofa first segmented stream are not interleaved with segments of a secondsegmented stream. However, in one or more implementations, the segmentedstreams are interleaved such that the segments of the segmented streamsthat correspond to the same portion of the content item are not alignedacross the interleaved segment streams, to the extent possible. Theinterleaving of the ABR segment streams provides a more robust solutionthat allows a particular segment to be recreated from other ABR segmentsthat correspond to the same content if the particular segment becomescorrupted. An example interleaving process is discussed further belowwith respect to FIG. 11. In one or more implementations, the ABR server110 may modulate the interleaved segment streams, e.g. using QAM-16. Inone or more implementations, the ABR server 110 may not interleave theABR segment streams.

The ABR server 110 applies different and unique orbital angularmomentums, e.g. using the OAM applicators 412A-C, to each of theinterleaved segment streams to generate OAM channels 342A-C (608). TheABR server 110 combines the OAM channels 342A-C (610), e.g. using theOAM channel combiner 414, for transmission on a shared frequency 340(610). In one or more implementations, the OAM channel combiner 414 maymultiplex the OAM channels 342A-C over a single wavelength. The ABRserver 110 transmits the combined OAM channels 342A-C, e.g. using theOAM transmitter 416, over the shared frequency 340 (612). For example,the combined OAM channels 342A-C may be transmitted over the sharedfrequency 340 via an antenna system, such as a helicoidal parabolicantenna system or an antenna array. Example antennas and antenna arraysare discussed further below with respect to FIGS. 15 and 16.

FIG. 7 illustrates a flow diagram of an example process 700 of an ABRserver 110 that is configured to transmit multiple ABR segment streamson a shared frequency using MIMO spatial multiplexing in accordance withone or more implementations. For explanatory purposes, the exampleprocess 700 is described herein with reference to the ABR server 110 ofthe example network environments 100, 200, and 500 of FIGS. 1, 2, and 5,respectively; however, the example process 700 is not limited to the ABRserver 110 of the example network environments 100, 200, and 500 ofFIGS. 1, 2, and 5, respectively, and the example process 700 may beperformed by one or more components of the ABR server 110, such as hostprocessors, radio modules, etc. Further for explanatory purposes, theblocks of the example process 700 are described herein as occurring inserial, or linearly. However, multiple blocks of the example process 700may occur in parallel. In addition, the blocks of the example process700 need not be performed in the order shown and/or one or more of theblocks of the example process 700 need not be performed.

The ABR server 110 encodes a content item, e.g. using the segmenters312A-C, based at least in part on different adaptive bit rate (ABR)profiles to generate different encoded streams (702). The ABR server 110segments the encoded streams, e.g. using the segmenters 312A-C, intomultiple segments of a given duration, such as 2-10 seconds, to generateABR segment streams (704). The ABR server 110 interleaves each of thesegmented streams, such as using the segment interleaver 214, togenerate interleaved segment streams (706). The ABR server 110, e.g.using the MIMO transmitter circuitry 516, transmits the interleavedsegment streams via the spatially separated antennas 518A-C, e.g. usingMIMO spatial multiplexing (708). In one or more implementations, theMIMO transmitter circuitry 516 may process the interleaved segmentstreams before transmitting the interleaved segment streams, e.g. bymodulating the interleaved segment streams, precoding the interleavedsegment streams, or generally any processing of the interleaved segmentstreams that may facilitate transmitting the interleaved segment streamsusing MIMO spatial multiplexing.

FIG. 8 illustrates a flow diagram of an example process 800 of a gatewaydevice 120 that is configured to receive multiple ABR segment streamsover OAM channels on a shared frequency in accordance with one or moreimplementations. For explanatory purposes, the example process 800 isdescribed herein with reference to the gateway device 120 of the examplenetwork environments 100, 200, and 300 of FIGS. 1-3, respectively;however, the example process 800 is not limited to the gateway device120 of the example network environments 100, 200, and 300 of FIGS. 1-3,respectively, and the example process 800 may be performed by one ormore components of the gateway device 120, such as host processors,radio modules, etc. Further for explanatory purposes, the blocks of theexample process 800 are described herein as occurring in serial, orlinearly. However, multiple blocks of the example process 800 may occurin parallel. In addition, the blocks of the example process 800 need notbe performed in the order shown and/or one or more of the blocks of theexample process 800 need not be performed.

The gateway device 120 receives the OAM channels 342A-C, e.g. using theOAM receiver 422, on a shared frequency 340 (802). For example, thecombined OAM channels 342A-C may be received on the shared frequency 340via an antenna system, such as a helicoidal parabolic antenna system oran antenna array. In one or more implementations, the OAM channels342A-C may be multiplexed on a single wavelength. The gateway device 120separates the OAM channels 342A-C, e.g. using the OAM channel separator424 (804). For example, the OAM channel separator 424 may demultiplexthe OAM channels 342A-C, e.g. from the single wavelength. The gatewaydevice 120 removes the OAM from the OAM channels 342A-C, e.g. using theOAM deapplicators 428A-C, to recover the interleaved segment streams(806). In one or more implementations, the OAM channels 342A-C may bedemultiplexed when the OAM is removed by the OAM deapplicators 428A-C,and therefore the separation of the OAM channels (804) may not beperformed by the OAM channel separator 424. In one or moreimplementations, the gateway device 120 may perform further processingto recover the interleaved segment streams, such as demodulation, etc.

The gateway device 120 de-interleaves, e.g. using the segmentdeinterleaver 224, the interleaved segment streams to recover the ABRsegment streams (808). In one or more implementations, the segmentstreams may be interleaved by the segment interleaver 214 using aninterleaving pattern that is known to the segment deinterleaver 224,and/or that is transmitted to the segment deinterleaver 224. The segmentdeinterleaver 224 may de-interleave the interleaved segment streamsbased at least in part on the interleaving pattern. In one or moreimplementations, in those situations where the segment streams were notinterleaved, the gateway device 120 will bypass the segmentdeinterleaver 224 or pass the segment streams through the segmentdeinterleaver 224 without performing deinterleaving functions.

The gateway device 120 determines whether any of the received segmentsof the ABR segment streams were corrupted during transmission (810). Forexample, the gateway device 120 may perform a cyclic redundancy check(CRC) with respect to the received segments, and/or the gateway device120 may attempt to decode the received segments. If the gateway device120 determines that any of the received segments was corrupted duringtransmission (810), the gateway device 120 performs a segment recoveryprocess to recover or recreate the corrupted segment(s) (812). Anexample segment recovery process is discussed further below with respectto FIG. 10.

If the gateway device 120 determines that all of the segments of the ABRsegment streams were received error-free (810), or that any corruptedsegments have been recovered (812), the gateway device 120 makes thesesegments available for ABR streaming. The gateway device 120 may receiverequests for segments that are listed in a manifest file, e.g. from theelectronic devices 102, 104, 106, and the gateway device 120 may providethe requested segments to the electronic devices 102, 104, 106 (814).

FIG. 9 illustrates a flow diagram of an example process 900 of anelectronic device 130 that is configured to receive multiple ABR segmentstreams on a shared frequency using MIMO spatial multiplexing inaccordance with one or more implementations. For explanatory purposes,the example process 900 is described herein with reference to theelectronic device 130 of the example network environments 100 and 500 ofFIGS. 1 and 5, respectively; however, the example process 900 is notlimited to the electronic device 130 of the example network environments100 and 500 of FIGS. 1 and 5, respectively, and the example process 900may be performed by one or more components of the electronic device 130,such as host processors, radio modules, etc. Further for explanatorypurposes, the blocks of the example process 900 are described herein asoccurring in serial, or linearly. However, multiple blocks of theexample process 900 may occur in parallel. In addition, the blocks ofthe example process 900 need not be performed in the order shown and/orone or more of the blocks of the example process 900 need not beperformed.

The electronic device 130 receives MIMO transmissions, e.g. via the oneor more antennas 528A-C, that carry the modulated segment streams 542A-C(902). The electronic device 130 recovers the interleaved segmentstreams from the received MIMO transmissions (904). For example, theelectronic device 130 may recover the modulated segment streams 542A-Cfrom the received MIMO transmissions and may demodulate the modulatedsegment streams to recover the interleaved segment streams. Theelectronic device 130 de-interleaves, e.g. using the segmentdeinterleaver 224, the interleaved segment streams to recover the ABRsegment streams (906). In one or more implementations, in thosesituations where the segment streams were not interleaved, the gatewaydevice 120 will bypass the segment deinterleaver 224 or pass the segmentstreams through the segment deinterleaver 224 without performingdeinterleaving functions.

The electronic device 130 determines whether any of the receivedsegments of the ABR segment streams was corrupted during transmission(908). If the electronic device 130 determines that any of the receivedsegments was corrupted during transmission (908), the electronic device130 performs a segment recovery process to recover the corruptedsegment(s) (910). An example segment recovery process is discussedfurther below with respect to FIG. 10.

If the electronic device 130 determines whether all of the segments ofthe ABR segment streams were received error-free (908), or that anycorrupted segments have been recovered (910), the electronic device 130renders the segments of the ABR segment streams in sequence, e.g. on adisplay, to reproduce the content item (912). The electronic device 130may seamlessly switch between segments, e.g. based on one or morecharacteristics determinable by the electronic device 130, such asavailable power, available processing resources, display size, etc.

FIG. 10 illustrates a flow diagram of an example process 1000 forperforming segment recovery in a system for transmitting multiple ABRsegment streams on a shared frequency in accordance with one or moreimplementations. In one or more implementations, the example process1000 for performing segment recovery corresponds to certain operationsor actions (908), (910) described in connection with the flow diagram ofFIG. 9. For explanatory purposes, the example process 1000 is describedherein with reference to the segment recoverer 226 of the gateway device120 of FIGS. 2 and 3, or of the electronic device 130 of FIG. 5;however, the example process 1000 is not limited to the segmentrecoverer 226 of the gateway device 120 of FIGS. 2 and 3 or theelectronic device 130 of FIG. 5, and the example process 1000 may beperformed by one or more other components of the gateway device 120and/or electronic device 130, such as host processors, radio modules,etc. Further for explanatory purposes, the blocks of the example process1000 are described herein as occurring in serial, or linearly. However,multiple blocks of the example process 1000 may occur in parallel. Inaddition, the blocks of the example process 1000 need not be performedin the order shown and/or one or more of the blocks of the exampleprocess 1000 need not be performed.

The segment recoverer 226 detects an error exists with the received ABRsegment streams. In one or more implementations, the segment recoverer226 detects such errors by determining whether an error exists in afirst segment of a first ABR segment stream that corresponds to aportion of a content item (1002). For example, the segment recoverer 226may detect the error by performing a CRC check on the first segment orby being unable to decode the first segment. The segments in the firstABR segment stream, including the first segment, may be encoded based atleast in part on a first ABR profile, and the first segment may havebeen received by the gateway device 120 or the electronic device 130during a first time period or may otherwise be associated with a firsttime period.

In the event that an error is detected in the first segment of the firstABR segment stream, the segment recoverer 226 determines whether anotherABR segment stream contains a segment (i.e., a second segment in thisexample), that corresponds to the same portion of the content item asthe first segment, that was received error-free (1004). In one or moreimplementations, the other ABR segment stream containing the secondsegment is an ABR segment stream having the highest bit rate or is anABR segment stream having properties that allow it to be more easily,efficiently or thoroughly converted to replace the first segmentpossessing the error. The second segment may be encoded based at leastin part on a second ABR profile that is different than the first ABRprofile. The second segment may have been received by the gateway device120 or the electronic device 130 during a second time period or mayotherwise be associated with a second time period that is different thanthe first time period. In one or more implementations, the first andsecond time periods may be any amount or unit of time, such as amillisecond, a nanosecond, or a Planck unit. In one or moreimplementations, the segments may be measured in units other than time,such as number of frames, frame markers, content markers or other knownmanners for partitioning video into segments.

The segment recoverer 226 transcodes the second segment based at leastin part on the first ABR profile corresponding to the first ABR segmentstream to recover, regenerate or otherwise generate an error-freeversion of the first segment (1006). In one or more implementations,such transcoding involves decoding the second segment having the secondABR profile and then re-encoding the decoded second segment into anencoded segment having the same first ABR profile corresponding to thefirst ABR segment stream. The segment recoverer 226 may replace thecorrupted first segment in the first ABR segment stream with therecovered/transcoded first segment. The segment recoverer 226 may repeatthe error-detecting (1002), determining (1004), and transcoding (1006)for any other corrupted segments. The segment recoverer 226 then outputsthe error-free and recovered segments of the ABR segment streams (1008).The ABR segment streams may then be rendered by the gateway device 120and/or the electronic device 130, and/or may be provided by the gatewaydevice 120 to the electronic devices 102, 104, 106.

FIG. 11 illustrates an example of segment interleaving 1100 in a systemfor transmitting multiple ABR segment streams on a shared frequency inaccordance with one or more implementations. The segment interleaving1100 includes a segment block 1102, e.g. segments of ABR segmentstreams, and an interleaved segment block 1104, e.g. interleavedsegments of ABR segment streams. In FIG. 11, the segments having thesame alphabetical prefix, e.g. ‘A’, ‘B’, or ‘C’, are part of the sameABR segment stream. Thus, in this example, the segment block 1102 andthe interleaved segment block 1104 may include segments of three ABRsegment streams that are encoded based at least in part on threedifferent ABR profiles, e.g. three different bit rates, that arerepresented by ‘A, ‘B’, and ‘C’. In one or more implementations, the ABRsegment stream represented by ‘C’ may be encoded based at least in parton the highest quality ABR profile of the three segment streams, e.g.the highest bit rate, and the ABR segment stream represented by ‘A’ maybe encoded based at least in part on the lowest quality ABR profile ofthe three segment streams, e.g. the lowest bit rate. In FIG. 11, thesegments having the same numerical suffix, e.g. 1, 2, 3, may correspondto the same portion of a content item. For example, segments A1, B1 andC1 all correspond to the same portion of a content item associated witha same first time period, while segments A2, B2 and C2 all correspond tothe same portion of a content item associated a same second time period.Thus, the segment block 1102 and the interleaved segment block 1104 mayinclude segments that correspond to three different portions of acontent item and the different portions may be represented by thenumerical suffixes of 1, 2, and 3.

The segment interleaver 214 organizes each ABR segment stream intogroups of N segments and then applies a shuffling (or interleaving)procedure to the segments of each group. For example, if there are M ABRsegment streams, the interleaving procedure may be performed on segmentblocks of dimension M×N, e.g. to ensure that, after interleaving, asegment of an ABR segment stream corresponding to a portion of thecontent item in a given column (e.g., time period) has segmentscorresponding to the same portion of the content item (e.g. from theother ABR segment streams) in other columns (e.g. other time periods).In one or more implementations, the segments of a given column of theinterleaved segment block 1104 may be transmitted during the same timeperiod.

Thus, as shown in FIG. 11, the columns of the interleaved segment block1104 each includes a segment corresponding to a different portion of thecontent item. For example, the second column includes a segment of theABR segment stream represented by ‘A’ that corresponds to the secondportion of the content item, a segment of the ABR segment streamrepresented by ‘B’ that corresponds to a third portion of the contentitem, and a segment of the ABR segment stream represented by ‘C’ thatcorresponds to the first portion of the content item. Thus, if there istime-selective interference with respect to the shared frequency duringthe time period when the second column is transmitted, segments thatcorrespond to different portions of the content item may be corrupted.However, since the portion of the content item corresponding to acorrupted segment of a first ABR segment stream may be receivederror-free during a different time period as a segment of a second ABRsegment stream, the segment recoverer 226 may be able to recover thecorrupted segment by transcoding the error-free segment. In one or moreembodiments, the receiver circuitry 222 in the gateway device 120 orelectronic device 130 includes a buffer or memory to store anappropriate number of segments from the various ABR segment streamsreceived in order to account for the interleaved segments and to allowcorrupted segments to be transcoded from other corresponding error-freesegments that have been received.

FIG. 12 illustrates an example of segment block life cycle 1200 in asystem for transmitting multiple ABR segment streams on a sharedfrequency in accordance with one or more implementations. The segmentblock life cycle 1200 may include a segment block 1202, an interleavedsegment block 1204, a transmitted segment block 1206, a received segmentblock 1208, a deinterleaved segment block 1210, and a recovered segmentblock 1212. Although the segment block life cycle 1200 is described withrespect to a single segment block 1202, in one or more implementations,segment blocks of the ABR segment streams may be continuously generatedand transmitted.

As shown in FIG. 12, the ABR segment stream generator 212 outputs threeABR segment streams of content for which three segments of each aregrouped into the segment block 1202. The segment interleaver 214interleaves the segment block 1202 to generate the interleaved segmentblock 1204. The transmitter circuitry 216 processes the interleavedsegment block 1202, e.g. through modulation and/or applying OAM, togenerate the transmitted segment block 1206, which is transmitted to thereceiver circuitry 222 over the shared frequency. However, in theexample illustrated in FIG. 12, time-selective interference isexperienced during the transmission of the transmitted segment block1206, thereby corrupting the segments of the second column 1207.

The receiver circuitry 222 processes the transmitted segment block 1206,e.g. by demodulating, removing OAM, etc., to generate the receivedsegment block 1208. However, the second column 1207 of the receivedsegment block 1208, e.g. A2, B3, and C1, may be corrupted. The segmentdeinterleaver 224 deinterleaves the received segment block 1208 togenerate the deinterleaved segment block 1210. The segments A2, B3, andC1 determined to be corrupted are still present in the deinterleavedsegment block 1210; however, the segments are ordered in accordance withthe content item (e.g., according to time periods associated with thecontent item). The segment recoverer 226 recovers the corrupted segmentsA2, B3, and C1 by transcoding correctly received segments of another ABRsegment stream to generate the recovered segment block 1212. The segmentrecoverer 226 may transcode the correctly received segments of thehighest quality ABR segment stream to minimize any quality loss.

For example, since the ABR segment stream represented by ‘C’ has thehighest quality or otherwise possesses characteristics that lend thisABR segment stream to be a desirable choice to transcode into ABRsegment stream A, the segment C2 is transcoded based at least in part onthe encoding of the ABR segment stream represented by ‘A’ to recover thesegment A2. Similarly, for corrupted segment B3, the segment C3 istranscoded based at least in part on the encoding of the ABR segmentstream represented by ‘B’ to recover the segment B3. Since the segmentof the ABR segment stream (e.g., based on highest quality) thatcorresponds to the first portion of the content item, e.g. C1, wascorrupted, a correctly received segment that corresponds to the firstportion of the content item and has desirable characteristic (e.g.,possesses the next highest quality), e.g. the segment B1, is transcodedto recover the segment C1.

FIG. 13 illustrates an example of segment block life cycle 1300 in asystem for transmitting multiple ABR segment streams on a sharedfrequency in accordance with one or more implementations. The segmentblock life cycle 1300 may include a segment block 1302, an interleavedsegment block 1304, a transmitted segment block 1306, a received segmentblock 1308, a deinterleaved segment block 1310, and a recovered segmentblock 1312. Although the segment block life cycle 1300 is described withrespect to a single segment block 1302, in one or more implementations,segment blocks of the ABR segment streams may be continuously generatedand transmitted.

As shown in FIG. 13, the ABR segment stream generator 212 outputs threeABR segment streams of content for which three segments of each aregrouped into the segment block 1302. The segment interleaver 214interleaves the segment block 1302 to generate the interleaved segmentblock 1304. The transmitter circuitry 216 processes the interleavedsegment block 1302, e.g. through modulation and/or applying OAM, togenerate the transmitted segment block 1306, which is transmitted to thereceiver circuitry 222 over the shared frequency. However, in theexample of FIG. 13, channel-specific interference is experienced duringthe transmission of the transmitted segment block 1306, therebycorrupting the segments of the ABR segment stream represented by channel1303 containing ABR segment stream ‘A’.

The receiver circuitry 222 processes the transmitted segment block 1306,e.g. by demodulating, removing OAM, etc., to generate the receivedsegment block 1308. However, the segments of the ABR segment streamrepresented by ‘A’ in the received segment block 1308, e.g. A1, A2, andA3, may be corrupted. The segment deinterleaver 224 deinterleaves thereceived segment block 1308 to generate the deinterleaved segment block1310. The segments A1, A2, A3 are still corrupted in the deinterleavedsegment block 1310; however, the segments are ordered in accordance withthe content item (e.g., according to time periods associated with thecontent item). The segment recoverer 226 recovers the corrupted segmentsA1, A2, and A3 by transcoding correctly received segments of another ABRsegment stream to generate the recovered segment block 1312. The segmentrecoverer 226 may transcode the correctly received segments of thehighest quality ABR segment stream (or ABR segment stream otherwisepossessing characteristics that lend it to be a desirable choice totranscode into ABR segment stream A) to minimize any quality loss, e.g.the segments corresponding of the ABR segment stream represented by ‘C’.

FIGS. 14A-C illustrate examples of OAM channels 1400A-C having differentorbital angular momentums that may be transmitted on a shared frequencyin accordance with the various embodiments and implementations describedherein. In one or more implementations, the OAM channel 1400A may havean orbital angular momentum corresponding to a topological charge of +1and may be generated by applying a signal to a spiral phase mask havinga topological charge of +1, as illustrated in FIG. 14A. The OAM channel1400B illustrated in FIG. 14B may have an orbital angular momentumcorresponding to a topological charge of +3 and may be generated byapplying a signal to a spiral phase mask having a topological charge of+3. The OAM channel 1400C illustrated in FIG. 14C may have an orbitalangular momentum corresponding to a topological charge of −4 and may begenerated by applying a signal to a spiral phase mask having atopological charge of −4. Since the OAM channels 1400A-C have differentorbital angular momentums the OAM channels 1400A-C do not interfere witheach other when transmitted over a shared frequency. Furthermore, sincethe OAM channels 1400A-C have different orbital angular momentums, theOAM channels 1400A-C can be distinguished from one another by areceiving device when transmitted on a shared frequency. This allowsmultiple, and potentially a large number of, OAM channels to betransmitted over a shared frequency so that multiple different ABRsegment streams having different ABR profiles can be transmitted withoutrequiring different frequencies for each ABR segment stream.

FIG. 15 illustrates a wireless network environment 1500 that includesantenna structures 1502, 1504 that may be used forgenerating/transmitting and/or detecting/receiving OAM channels inaccordance with one or more implementations. The wireless networkenvironment 1500 may include transmitter antenna structures 1502 andreceiver antenna structures 1504. The antenna structures 1502, 1504 maybe helicoidal parabolic antennas that may be formed from transforming aparabolic dish antenna into a vortex reflector by properly elevating thedish surface with respect to the azimuthal angle. This may be visualizedby cutting a radius in a dish and flexing the dish on one side of thecut relative to the other side perpendicular to the dish surface.Accordingly, a helicoidal transmission signal with an orbital angularmomentum associated with the helicoidal parabolic antenna may begenerated. In one or more implementations, other antenna structures maybe used for the transmission and/or reception of OAM channels. As shownin FIG. 15, the OAM channels 1400A-C of FIGS. 14A-C may be transmittedby the antenna structures 1502 and received by the antenna structures1504. In one or more implementations, the OAM channels 1400A-C may beco-existed in the transmission.

FIG. 16 illustrates a wireless network environment 1600 that includesantenna arrays 1610, 1620 that may be used for generating/transmittingand/or detecting/receiving OAM channels in accordance with one or moreimplementations. The transmit antenna array 1610 and/or the receiveantenna array 1620 may be uniform circular arrays (UCAs). The transmitantenna array 1610 may include a number of antenna elements (e.g. 1612,1614, 1616) that are evenly spaced along a circle. For thegeneration/transmission of OAM-like channels, the antenna elements inthe transmit antenna array 1610 are fed with the identical input signal,but with a successive phase delay from element 1612 to element 1616. TheOAM channels may be decoded by a receiving device, such as the gatewaydevice 120, with proper processing of the received signals in allantenna elements of the receive antenna array 1620. For explanatorypurposes, the antenna arrays 1610, 1620 are illustrated in FIG. 16 ashaving 8 antenna elements; however, the antenna arrays 1610, 1620 mayhave any number of antenna elements. In one or more implementations,combinations of different types of transmitting and receiving antennasmay be used, such combinations of the antenna structures 1502, 1504 andthe antenna arrays 1610, 1620.

FIG. 17 conceptually illustrates an electronic system 1700 with whichone or more implementations of the subject technology may beimplemented. The electronic system 1700, for example, can be a desktopcomputer, a laptop computer, a tablet computer, a server, a switch, arouter, a base station, a receiver, a phone, a personal digitalassistant (PDA), or generally any electronic device that transmitssignals over a network. The electronic system 1700 can be, and/or can bea part of, the ABR server 110, the gateway device 120, and/or one ormore of the electronic devices 102, 104, 106, 130. Such an electronicsystem includes various types of computer readable media and interfacesfor various other types of computer readable media. The electronicsystem 1700 includes a bus 1708, one or more processing unit(s) 1712, asystem memory or buffer 1704, a read-only memory (ROM) 1710, a permanentstorage device 1702, an input device interface 1714, an output deviceinterface 1706, and a network interface 1716, or subsets and variationsthereof.

The bus 1708 collectively represents all system, peripheral, and chipsetbuses that communicatively connect the numerous internal devices of theelectronic system 1700. In one or more implementations, the bus 1708communicatively connects the one or more processing unit(s) 1712 withthe ROM 1710, the system memory 1704, and the permanent storage device1702. From these various memory units, the one or more processingunit(s) 1712 retrieves instructions to execute and data to process inorder to execute the processes of the subject disclosure. The one ormore processing unit(s) 1712 can be a single processor or a multi-coreprocessor in different implementations.

The ROM 1710 stores static data and instructions that are needed by theone or more processing unit(s) 1712 and other modules of the electronicsystem 1700. The permanent storage device 1702, on the other hand, maybe a read-and-write memory device. The permanent storage device 1702 maybe a non-volatile memory unit that stores instructions and data evenwhen the electronic system 1700 is off. In one or more implementations,a mass-storage device (such as a magnetic or optical disk and itscorresponding disk drive) may be used as the permanent storage device1702.

In one or more implementations, a removable storage device (such as afloppy disk, flash drive, and its corresponding disk drive) may be usedas the permanent storage device 1702. Like the permanent storage device1702, the system memory 1704 may be a read-and-write memory device.However, unlike the permanent storage device 1702, the system memory1704 may be a volatile read-and-write memory, such as random accessmemory. The system memory 1704 may store any of the instructions anddata that one or more processing unit(s) 1712 may need at runtime. Inone or more implementations, the processes of the subject disclosure arestored in the system memory 1704, the permanent storage device 1702,and/or the ROM 1710. From these various memory units, the one or moreprocessing unit(s) 1712 retrieves instructions to execute and data toprocess in order to execute the processes of one or moreimplementations.

The bus 1708 also connects to the input and output device interfaces1714 and 1706. The input device interface 1714 enables a user tocommunicate information and select commands to the electronic system1700. Input devices that may be used with the input device interface1714 may include, for example, alphanumeric keyboards and pointingdevices (also called “cursor control devices”). The output deviceinterface 1706 may enable, for example, the display of images generatedby electronic system 1700. Output devices that may be used with theoutput device interface 1706 may include, for example, printers anddisplay devices, such as a liquid crystal display (LCD), a lightemitting diode (LED) display, an organic light emitting diode (OLED)display, a flexible display, a flat panel display, a solid statedisplay, a projector, or any other device for outputting information.One or more implementations may include devices that function as bothinput and output devices, such as a touchscreen. In theseimplementations, feedback provided to the user can be any form ofsensory feedback, such as visual feedback, auditory feedback, or tactilefeedback; and input from the user can be received in any form, includingacoustic, speech, or tactile input.

Finally, as shown in FIG. 17, the bus 1708 also couples the electronicsystem 1700 to a network (not shown) through the network interface 1716.In this manner, the electronic system 1700 can be a part of a network ofcomputers (such as a local area network (“LAN”), a wide area network(“WAN”), or an Intranet, or a network of networks, such as the Internet.Any or all components of the electronic system 1700 can be used inconjunction with the subject disclosure.

Many of the above-described features and applications may be implementedas software processes that are specified as a set of instructionsrecorded on a computer readable storage medium (alternatively referredto as computer-readable media, machine-readable media, ormachine-readable storage media). When these instructions are executed byone or more processing unit(s) (e.g., one or more processors, cores ofprocessors, or other processing units), they cause the processingunit(s) to perform the actions indicated in the instructions. Examplesof computer readable media include, but are not limited to, RAM, ROM,read-only compact discs (CD-ROM), recordable compact discs (CD-R),rewritable compact discs (CD-RW), read-only digital versatile discs(e.g., DVD-ROM, dual-layer DVD-ROM), a variety of recordable/rewritableDVDs (e.g., DVD-RAM, DVD-RW, DVD+RW, etc.), flash memory (e.g., SDcards, mini-SD cards, micro-SD cards, etc.), magnetic and/or solid statehard drives, ultra density optical discs, any other optical or magneticmedia, and floppy disks. In one or more implementations, the computerreadable media does not include carrier waves and electronic signalspassing wirelessly or over wired connections, or any other ephemeralsignals. For example, the computer readable media may be entirelyrestricted to tangible, physical objects that store information in aform that is readable by a computer. In one or more implementations, thecomputer readable media is non-transitory computer readable media,computer readable storage media, or non-transitory computer readablestorage media.

In one or more implementations, a computer program product (also knownas a program, software, software application, script, or code) can bewritten in any form of programming language, including compiled orinterpreted languages, declarative or procedural languages, and it canbe deployed in any form, including as a stand alone program or as amodule, component, subroutine, object, or other unit suitable for use ina computing environment. A computer program may, but need not,correspond to a file in a file system. A program can be stored in aportion of a file that holds other programs or data (e.g., one or morescripts stored in a markup language document), in a single filededicated to the program in question, or in multiple coordinated files(e.g., files that store one or more modules, sub programs, or portionsof code). A computer program can be deployed to be executed on onecomputer or on multiple computers that are located at one site ordistributed across multiple sites and interconnected by a communicationnetwork.

While the above discussion primarily refers to microprocessor ormulti-core processors that execute software, one or more implementationsare performed by one or more integrated circuits, such as applicationspecific integrated circuits (ASICs) or field programmable gate arrays(FPGAs). In one or more implementations, such integrated circuitsexecute instructions that are stored on the circuit itself.

Those of skill in the art would appreciate that the various illustrativeblocks, modules, elements, components, methods, and algorithms describedherein may be implemented as electronic hardware, computer software, orcombinations of both. To illustrate this interchangeability of hardwareand software, various illustrative blocks, modules, elements,components, methods, and algorithms have been described above generallyin terms of their functionality. Whether such functionality isimplemented as hardware or software depends upon the particularapplication and design constraints imposed on the overall system.Skilled artisans may implement the described functionality in varyingways for each particular application. Various components and blocks maybe arranged differently (e.g., arranged in a different order, orpartitioned in a different way) all without departing from the scope ofthe subject technology.

It is understood that any specific order or hierarchy of blocks in theprocesses disclosed is an illustration of example approaches. Based upondesign preferences, it is understood that the specific order orhierarchy of blocks in the processes may be rearranged, or that allillustrated blocks be performed. Any of the blocks may be performedsimultaneously. In one or more implementations, multitasking andparallel processing may be advantageous. Moreover, the separation ofvarious system components in the embodiments described above should notbe understood as requiring such separation in all embodiments, and itshould be understood that the described program components and systemscan generally be integrated together in a single software product orpackaged into multiple software products.

As used in this specification and any claims of this application, theterms “base station”, “receiver”, “computer”, “server”, “processor”, and“memory” all refer to electronic or other technological devices. Theseterms exclude people or groups of people. For the purposes of thespecification, the terms “display” or “displaying” means displaying onan electronic device.

As used herein, the phrase “at least one of” preceding a series ofitems, with the term “and” or “or” to separate any of the items,modifies the list as a whole, rather than each member of the list (i.e.,each item). The phrase “at least one of” does not require selection ofat least one of each item listed; rather, the phrase allows a meaningthat includes at least one of any one of the items, and/or at least oneof any combination of the items, and/or at least one of each of theitems. By way of example, the phrases “at least one of A, B, and C” or“at least one of A, B, or C” each refer to only A, only B, or only C;any combination of A, B, and C; and/or at least one of each of A, B, andC.

The predicate words “configured to”, “operable to”, and “programmed to”do not imply any particular tangible or intangible modification of asubject, but, rather, are intended to be used interchangeably. In one ormore implementations, a processor configured to monitor and control anoperation or a component may also mean the processor being programmed tomonitor and control the operation or the processor being operable tomonitor and control the operation. Likewise, a processor configured toexecute code can be construed as a processor programmed to execute codeor operable to execute code.

A phrase such as “an aspect” does not imply that such aspect isessential to the subject technology or that such aspect applies to allconfigurations of the subject technology. A disclosure relating to anaspect may apply to all configurations, or one or more configurations.An aspect may provide one or more examples of the disclosure. A phrasesuch as an “aspect” may refer to one or more aspects and vice versa. Aphrase such as an “embodiment” does not imply that such embodiment isessential to the subject technology or that such embodiment applies toall configurations of the subject technology. A disclosure relating toan embodiment may apply to all embodiments, or one or more embodiments.An embodiment may provide one or more examples of the disclosure. Aphrase such an “embodiment” may refer to one or more embodiments andvice versa. A phrase such as a “configuration” does not imply that suchconfiguration is essential to the subject technology or that suchconfiguration applies to all configurations of the subject technology. Adisclosure relating to a configuration may apply to all configurations,or one or more configurations. A configuration may provide one or moreexamples of the disclosure. A phrase such as a “configuration” may referto one or more configurations and vice versa.

The word “exemplary” is used herein to mean “serving as an example,instance, or illustration.” Any embodiment described herein as“exemplary” or as an “example” is not necessarily to be construed aspreferred or advantageous over other embodiments. Furthermore, to theextent that the term “include,” “have,” or the like is used in thedescription or the claims, such term is intended to be inclusive in amanner similar to the term “comprise” as “comprise” is interpreted whenemployed as a transitional word in a claim.

All structural and functional equivalents to the elements of the variousaspects described throughout this disclosure that are known or latercome to be known to those of ordinary skill in the art are expresslyincorporated herein by reference and are intended to be encompassed bythe claims. Moreover, nothing disclosed herein is intended to bededicated to the public regardless of whether such disclosure isexplicitly recited in the claims. No claim element is to be construedunder the provisions of 35 U.S.C. §112, sixth paragraph, unless theelement is expressly recited using the phrase “means for” or, in thecase of a method claim, the element is recited using the phrase “stepfor.”

The previous description is provided to enable any person skilled in theart to practice the various aspects described herein. Variousmodifications to these aspects will be readily apparent to those skilledin the art, and the generic principles defined herein may be applied toother aspects. Thus, the claims are not intended to be limited to theaspects shown herein, but are to be accorded the full scope consistentwith the language claims, wherein reference to an element in thesingular is not intended to mean “one and only one” unless specificallyso stated, but rather “one or more.” Unless specifically statedotherwise, the term “some” refers to one or more. Pronouns in themasculine (e.g., his) include the feminine and neuter gender (e.g., herand its) and vice versa. Headings and subheadings, if any, are used forconvenience only and do not limit the subject disclosure.

What is claimed is:
 1. A method for transmitting multiple adaptive bitrate (ABR) segment streams on a shared frequency, the method comprising:encoding a content item based at least in part on a plurality of ABRprofiles to generate a plurality of encoded streams, each of theplurality of encoded streams being encoded differently and each of theplurality of encoded streams corresponding to one of the plurality ofABR profiles; segmenting the plurality of encoded streams to generate aplurality of ABR segment streams, each of the plurality of ABR segmentstreams corresponding to one of the plurality of encoded streams; andtransmitting the plurality of ABR segment streams on the sharedfrequency to an electronic device irrespective of whether any of theplurality of ABR segment streams have been requested by the electronicdevice, wherein at least two of the plurality of ABR segment streams aretransmitted on the shared frequency to the electronic devicesimultaneously.
 2. The method of claim 1, wherein transmitting theplurality of ABR segment streams on the shared frequency furthercomprises: modulating the plurality of ABR segment streams to generate aplurality of modulated streams; and transmitting, via a plurality ofspatially separated antennas, the plurality of modulated streams on theshared frequency, wherein each of the plurality of modulated streams istransmitted via one of the plurality of spatially separated antennas. 3.The method of claim 1, wherein transmitting the plurality of ABR segmentstreams on the shared frequency further comprises: generating aplurality of orbital angular momentum channels from the plurality of ABRsegment streams; and transmitting the plurality of orbital angularmomentum channels on the shared frequency.
 4. The method of claim 3,wherein generating the plurality of orbital angular momentum channelsfrom the plurality of ABR segment streams further comprises: modulatingthe plurality of ABR segment streams to generate a plurality ofmodulated streams; and applying one of a plurality of orbital angularmomentums to each of the plurality of modulated streams to generate theplurality of orbital angular momentum channels, wherein a differentorbital angular momentum is applied to each of the plurality ofmodulated streams.
 5. The method of claim 1, further comprising:interleaving the plurality of ABR segment streams to generate aplurality of interleaved segment streams.
 6. The method of claim 5,wherein transmitting the plurality of ABR segment streams on the sharedfrequency further comprises: transmitting the plurality of interleavedsegment streams on the shared frequency.
 7. The method of claim 1,wherein each of the plurality of ABR profiles indicates at least one ofa bit rate, a resolution, a frame rate, or a codec.
 8. A method forreceiving adaptive bit rate (ABR) segment streams on a shared frequency,the method comprising: receiving, by an electronic device, a pluralityof ABR segment streams concurrently on the shared frequency, whereineach of the plurality of ABR segment streams comprises a plurality ofsegments of a content item that are encoded based at least in part onone of a plurality of ABR profiles and each of the plurality of ABRsegment streams is encoded differently; and selecting, by the electronicdevice, one of the plurality of ABR segment streams for display based atleast in part on a characteristic determinable by the electronic device.9. The method of claim 8, wherein the characteristic determinable by theelectronic device comprises at least one of: a codec that is availableto the electronic device, power that is available to the electronicdevice, processing resources that are available to the electronicdevice, or a size of a display that is available to the electronicdevice.
 10. The method of claim 8, further comprising: transmitting anindication of the plurality of ABR profiles to a plurality of electronicdevices; receiving, from an electronic device of the plurality ofelectronic devices, a request for one of the plurality of segments ofone of the plurality of ABR segment streams; and transmitting the one ofthe plurality of segments of the one of the plurality of ABR segmentstreams to the electronic device of the plurality of electronic devices.11. The method of claim 8, wherein receiving the plurality of ABRsegment streams on the shared frequency further comprises: receiving,via a plurality of spatially separated antennas, a plurality ofmodulated streams on the shared frequency; and demodulating theplurality of modulated streams to recover the plurality of ABR segmentstreams.
 12. The method of claim 8, wherein receiving the plurality ofABR segment streams on the shared frequency further comprises: receivinga plurality of orbital angular momentum channels on the sharedfrequency, wherein each of the plurality of orbital angular momentumchannels comprises one of a plurality of orbital angular momentums;separating each of the plurality of orbital angular momentum channels togenerate a plurality of modulated streams; and demodulating theplurality of modulated streams to generate the plurality of ABR segmentstreams.
 13. The method of claim 8, wherein the plurality of segments ofeach of the plurality of ABR segment streams are interleaved and themethod further comprising: deinterleaving the plurality of segments ofeach of the plurality of ABR segment streams.
 14. The method of claim13, further comprising: determining that a segment of the plurality ofsegments of a first ABR segment stream of the plurality of ABR segmentstreams is corrupted; and recovering the corrupted segment of theplurality of segments of the first ABR segment stream of the pluralityof ABR segment streams based at least in part on a corresponding segmentof a second ABR segment stream of the plurality of ABR segment streams.15. The method of claim 14, wherein recovering the segment of theplurality of segments of the first ABR segment stream of the pluralityof ABR segment streams based at least in part on the correspondingsegment of the second ABR segment stream of the plurality of ABR segmentstreams further comprises: transcoding the corresponding segment of thesecond ABR segment stream of the plurality of ABR segment streams torecover an uncorrupted version of the segment of the plurality ofsegments of the first ABR segment stream that was determined to havebeen corrupted.
 16. The method of claim 15, wherein the second ABRsegment stream of the plurality of ABR segment streams comprises ahighest bit rate of the plurality of ABR segment streams for which thecorresponding segment was received error-free.
 17. The method of claim8, wherein each of the plurality of ABR profiles indicates at least oneof a bit rate, a resolution, a frame rate, or a codec.
 18. A device fortransmitting multiple adaptive bit rate (ABR) segment streams on ashared frequency, the device comprising: an ABR segment stream generatorconfigured to encode a content item based at least in part on aplurality of ABR profiles to generate a plurality of encoded streams,each of the plurality of encoded streams being encoded differently, andto segment the plurality of encoded streams to generate a plurality ofABR segment streams; and a transmitter configured to simultaneouslytransmit the plurality of ABR segment streams on the shared frequency toan electronic device.
 19. The device of claim 18, further comprising: aplurality of orbital angular momentum (OAM) applicators configured toapply one of a plurality of orbital angular momentums to each of theplurality of ABR segment streams to generate a plurality of OAMchannels, wherein the transmitter is configured to transmit theplurality of OAM channels on the shared frequency.
 20. The device ofclaim 19, wherein a different orbital angular momentum is applied toeach of the plurality of ABR segment streams.
 21. The device of claim18, further comprising: a plurality of spatially separated antennas; anda plurality of modulators configured to modulate the plurality of ABRsegment streams to generate a plurality of modulated streams, whereinthe transmitter is configured to transmit, via a plurality of spatiallyseparated antennas, the plurality of modulated streams on the sharedfrequency, wherein each of the plurality of modulated streams istransmitted via one of the plurality of spatially separated antennas.22. The device of claim 18, further comprising: a segment interleaverconfigured to interleave the plurality of ABR segment streams togenerate a plurality of interleaved segment streams, wherein thetransmitter is configured to transmit the plurality of interleavedsegment streams on the shared frequency.